import axios from "axios";
import {ElMessage} from "element-plus";
import {GET_TOKEN} from "@/utils";
// 创建一个axios实例(实例--小型的axios)
const request = axios.create({
    // 请求超时的时间
    timeout:5000,
    // 基础请求地址
    baseURL:import.meta.env.VITE_APP_BASE_API,
});
// 请求拦截
request.interceptors.request.use(config=>{
    if(GET_TOKEN()){
        config.headers.token = GET_TOKEN();
    }
    return config;
})
// 响应拦截
request.interceptors.response.use(response =>{
    // 判断响应体是否为字符串
    if(typeof response.data === "string") return response.data;
    // 如果得到的结果是正常的，那么直接返回响应体
    if(response.data.ok === 1) return response.data;
    // 如果结果是有问题的,给予用户问题的弹出
    ElMessage.error(response.data.message);
    // 返回一个失败的Promise实例
    return Promise.reject(response.data);
},error=>{
    ElMessage.error(error.message);
    return new Promise(()=>{})
});

export default request;